From: Keir Fraser Date: Fri, 26 Mar 2010 08:48:08 +0000 (+0000) Subject: shadow: Don't crash xen if hvm_read() from paged or shared memory X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~12472 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/success//%22http:/www.example.com/cgi/success/?a=commitdiff_plain;h=b8352255b3eac73ab2f15874575613603aa2e9c0;p=xen.git shadow: Don't crash xen if hvm_read() from paged or shared memory There are two new return cases from hvm_copy_from_guest_virt() to deal with paging or shared memory -- retry the emulation rather than crash. Signed-off-by: Steven Hand --- diff --git a/xen/arch/x86/mm/shadow/common.c b/xen/arch/x86/mm/shadow/common.c index 5e37bb01d4..36f92760cf 100644 --- a/xen/arch/x86/mm/shadow/common.c +++ b/xen/arch/x86/mm/shadow/common.c @@ -180,6 +180,9 @@ hvm_read(enum x86_segment seg, case HVMCOPY_bad_gfn_to_mfn: case HVMCOPY_unhandleable: return X86EMUL_UNHANDLEABLE; + case HVMCOPY_gfn_paged_out: + case HVMCOPY_gfn_shared: + return X86EMUL_RETRY; } BUG();